package cn.dglydrpy.study.algorithm.od;

/**
 * @author Yyy
 * @date 2024/11/10 17:34
 * @description
 * 给定含 N 个正整数的数组，要求计算和大于等于 x 的连续区间（含单个正整数）的数量
 */
public class Od0038_SubArraySumGTx {
    public static void main(String[] args) {
        int[] arr = new int[]{6,5,4,7,3,2,1};
        int x = 7;
        System.out.println(myAnswer(arr,x));
        
    }

    private static int myAnswer(int[] arr, int x) {
        
        int ans = 0;
        
        for(int i=0;i<arr.length;i++){
            
            // 考察以arr[i]结尾的所有子串
            ans += process(arr,i,x);
        }
        
        return ans;
        
    }

    private static int process(int[] arr, int i, int x) {
        
        int ans = 0;
        
        for(int k = i;k>=0;k--){

            int sum = 0;
            for(int j=i;j>=k;j--){
                sum += arr[j];
            }

            if(sum >= x){
                return k+1;
            }

        }
      
  
        return ans;
    }
}
